- parsed_with_gfm = (_("Content parsed with %{link}.") % { link: link_to('GitLab Flavored Markdown', help_page_path('user/markdown'), target: '_blank') }).html_safe

= gitlab_ui_form_for @appearance, url: admin_application_settings_appearances_path, html: { class: 'gl-mt-3' } do |f|
  = form_errors(@appearance)

  .settings-section
    .settings-sticky-header
      .settings-sticky-header-inner
        %h4.gl-my-0= _('Navigation bar')

    .form-group
      = f.label :header_logo, _('Header logo'), class: 'col-form-label  gl-pt-0'
      %p
        - if @appearance.header_logo?
          = image_tag @appearance.header_logo_path, class: 'appearance-light-logo-preview'
          - if @appearance.persisted?
            %br
            = render Pajamas::ButtonComponent.new(variant: :danger, category: :secondary, size: :small, method: :delete, href: header_logos_admin_application_settings_appearances_path, button_options: { data: { confirm: _("Header logo will be removed. Are you sure?"), confirm_btn_variant: "danger" }, aria: { label: _('Remove header logo') } }) do
              = _('Remove header logo')
          %hr
        = f.hidden_field :header_logo_cache
        = f.file_field :header_logo, class: "", accept: 'image/*'
        .form-text.text-muted
          = _('Maximum file size is 1MB. Pages are optimized for a 24px tall header logo')

  .settings-section
    .settings-sticky-header
      .settings-sticky-header-inner
        %h4.gl-my-0 Favicon

    .form-group
      = f.label :favicon, _('Favicon'), class: 'col-form-label  gl-pt-0'
      %p
        - if @appearance.favicon?
          = image_tag @appearance.favicon_path, class: 'appearance-light-logo-preview'
          - if @appearance.persisted?
            %br
            = render Pajamas::ButtonComponent.new(variant: :danger, category: :secondary, size: :small, method: :delete, href: favicon_admin_application_settings_appearances_path, button_options: { data: { confirm: _("Favicon will be removed. Are you sure?"), confirm_btn_variant: "danger" }, aria: { label: _('Remove favicon') } }) do
              = _('Remove favicon')
          %hr
        = f.hidden_field :favicon_cache
        = f.file_field :favicon, class: '', accept: 'image/*'
        .form-text.text-muted
          = _("Maximum file size is 1 MB. Image size must be 32 x 32 pixels. Allowed image formats are %{favicon_extension_allowlist}.") % { favicon_extension_allowlist: favicon_extension_allowlist }
          %br
          = _("Images with incorrect dimensions are not resized automatically, and may result in unexpected behavior.")

  = render partial: 'admin/application_settings/appearances/system_header_footer_form', locals: { form: f }

  .settings-section
    .settings-sticky-header
      .settings-sticky-header-inner
        %h4.gl-my-0= _('Sign in/Sign up pages')

    .form-group
      = f.label :title, class: 'col-form-label'
      = f.text_field :title, class: "form-control gl-form-input"
    .form-group
      = f.label :description, class: 'col-form-label'
      = f.text_area :description, class: "form-control gl-form-input", rows: 10
      .form-text.text-muted
        = parsed_with_gfm
    .form-group
      = f.label :logo, class: 'col-form-label  gl-pt-0'
      %p
        - if @appearance.logo?
          = image_tag @appearance.logo_path, class: 'appearance-logo-preview'
          - if @appearance.persisted?
            %br
            = render Pajamas::ButtonComponent.new(variant: :danger, category: :secondary, size: :small, method: :delete, href: logo_admin_application_settings_appearances_path, button_options: { data: { confirm: _("Logo will be removed. Are you sure?"), confirm_btn_variant: "danger" }, aria: { label: _('Remove logo') } }) do
              = _('Remove logo')
          %hr
        = f.hidden_field :logo_cache
        = f.file_field :logo, class: "", accept: 'image/*'
        .form-text.text-muted
          = _('Maximum file size is 1 MB. Pages are optimized for a 128x128 px logo.')

  .settings-section
    .settings-sticky-header
      .settings-sticky-header-inner
        %h4.gl-my-0= _('Progressive Web App (PWA)')

    .form-group
      = f.label _("Name"), class: 'col-form-label'
      = f.text_field :pwa_name, class: "form-control gl-form-input"
    .form-group
      = f.label _("Short name"), class: 'col-form-label'
      = f.text_field :pwa_short_name, class: "form-control gl-form-input"
    .form-group
      = f.label _("Description"), class: 'col-form-label'
      = f.text_area :pwa_description, class: "form-control gl-form-input", rows: 10
      .form-text.text-muted
        = parsed_with_gfm
    .form-group
      = f.label :pwa_icon, class: 'col-form-label  gl-pt-0'
      %p
        - if @appearance.pwa_icon?
          = image_tag @appearance.pwa_icon_path, class: 'appearance-pwa-icon-preview'
          - if @appearance.persisted?
            %br
            = render Pajamas::ButtonComponent.new(variant: :danger, category: :secondary, size: :small, method: :delete, href: pwa_icon_admin_application_settings_appearances_path, button_options: { data: { confirm: _("Icon will be removed. Are you sure?"), confirm_btn_variant: "danger" }, aria: { label: _('Remove icon') } }) do
              = _('Remove icon')
          %hr
        = f.hidden_field :pwa_icon_cache
        = f.file_field :pwa_icon, class: "", accept: 'image/*'
        .form-text.text-muted
          = _('Maximum file size is 1MB.')

  .settings-section
    .settings-sticky-header
      .settings-sticky-header-inner
        %h4.gl-my-0= _('New project pages')

    .form-group
      = f.label :new_project_guidelines, class: 'col-form-label'
      %p
        = f.text_area :new_project_guidelines, class: "form-control gl-form-input", rows: 10
        .form-text.text-muted
          = parsed_with_gfm

  .settings-section
    .settings-sticky-header
      .settings-sticky-header-inner
        %h4.gl-my-0= _('Profile image guideline')

    .form-group
      = f.label :profile_image_guidelines, class: 'col-form-label'
      %p
        = f.text_area :profile_image_guidelines, class: "form-control gl-form-input", rows: 10
        .form-text.text-muted
          = parsed_with_gfm

  - if @appearance.persisted? || @appearance.updated_at
    .settings-section
      - if @appearance.persisted?
        Preview last save:
        = link_to _('Sign-in page'), preview_sign_in_admin_application_settings_appearances_path, class: 'btn', target: '_blank', rel: 'noopener noreferrer'
        = link_to _('New project page'), new_project_path, class: 'btn', target: '_blank', rel: 'noopener noreferrer'

      - if @appearance.updated_at
        %span.float-right
          Last edit #{time_ago_with_tooltip(@appearance.updated_at)}

  .settings-sticky-footer
    = f.submit _('Update appearance settings'), pajamas_button: true
